home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / rjs.lha / RJS / String / src / match.C < prev    next >
C/C++ Source or Header  |  1991-06-14  |  1KB  |  67 lines

  1. #include "String.h"
  2.  
  3. RJS_SubString RJS_String::match(char ch)
  4. {
  5. int dummy;
  6.   return match(ch,dummy);
  7. }
  8.  
  9. RJS_SubString RJS_String::match(char ch,int &pos)
  10. {
  11.   if (*cptr() != ch) { pos= -1; return substr(-1,0); }
  12.   else  { pos=0; return substr(1); }
  13. }
  14.  
  15. RJS_SubString RJS_String::match(const char *s) 
  16. {
  17. int dummy;
  18.   return match(s,dummy);
  19. }
  20.  
  21. RJS_SubString RJS_String::match(const char *s,int &pos)
  22. {
  23. int slen=RJS_String::length(s);
  24.   
  25.   if (substr(0,slen)==s) { pos=0; return substr(slen); }
  26.   else  { pos= -1; return substr(-1,0); }
  27. }
  28.  
  29. RJS_SubString RJS_String::match(RJS_String &s)
  30. {
  31. int dummy;
  32.   return match(s,dummy);
  33. }
  34.  
  35. RJS_SubString RJS_String::match(RJS_String &s,int &pos)
  36. {
  37.   if (substr(0,s.length())==s) { pos=0; return substr(s.length()); }
  38.   else { pos = -1; return substr(-1,0); }
  39. }
  40.  
  41. RJS_SubString RJS_String::match(const RJS_StringSearch &ss)
  42. {
  43. int dpos,dlen;
  44.   return match(ss,dpos,dlen);
  45. }
  46.  
  47. RJS_SubString RJS_String::match(const RJS_StringSearch &ss,int &pos, int &len)
  48. {
  49.   pos=ss.search(*this,len);
  50.   if (pos!=0) { pos = -1; return substr(-1,0); }
  51.   else return substr(len);
  52. }
  53.  
  54. RJS_SubString RJS_String::match(const RJS_StringSearch &ss, RJS_String &matched)
  55. {
  56. int dpos,dlen;
  57.   return match(ss,matched,dpos,dlen);
  58. }
  59.  
  60. RJS_SubString RJS_String::match(const RJS_StringSearch &ss, RJS_String &matched, int &pos, int &len)
  61. {
  62.   pos=ss.search(*this,len);
  63.   if (pos!=0) { matched="";             return substr(-1,0);    }
  64.   else       { matched=substr(0,len);   return substr(len);     }
  65. }
  66.  
  67.